Click Here!
home account info subscribe login search My ITKnowledge FAQ/help site map contact us


 
Brief Full
 Advanced
      Search
 Search Tips
To access the contents, click the chapter and section titles.

Oracle Performance Tuning and Optimization
(Publisher: Macmillan Computer Publishing)
Author(s): Edward Whalen
ISBN: 067230886x
Publication Date: 04/01/96

Bookmark It

Search this book:
 
Previous Table of Contents Next


Tuning Considerations

With NetWare, probably the most important tuning consideration is ensuring that you have sufficient memory available to run Oracle and the required number of server processes. Because NetWare does not use virtual memory, you must make sure that enough physical memory is available. Other areas of importance in tuning the NetWare system include both the network and I/O subsystem.

Memory

Memory is very important in the NetWare operating system. The initial design of NetWare focused on file and print services, which can be configured to use very little memory. NetWare is streamlined and can operate with a small amount of memory and very little overhead.

When you use NetWare as an application server, it requires much more memory. As you have seen in earlier chapters, effective use of the SGA can greatly affect performance. Because NetWare does not use virtual memory, it is much more important to have a sufficient amount of memory so that you do not exceed the available resources. Because you really want to have enough memory so that no paging occurs in virtual memory systems as well, this is not a problem. As long as there is sufficient memory, you will have no problems running Oracle on NetWare.

Reduce Unnecessary Memory Usage

You take some measures to reduce the amount of memory NetWare uses so that you can re-allocate that memory to Oracle. One way to reduce NetWare memory usage is to set MAXIMUM RECEIVE PACKET SIZE to the largest packed size supported by your protocol and Network Interface Card (NIC). By setting this value higher than the maximum supported by the protocol or NIC, you waste space in memory by having underutilized packets. On the other hand, do not set this value too small, or you may waste CPU cycles by having to transmit more packets than necessary.

For Ethernet, try setting MAXIMUM RECEIVE PACKET SIZE to 1130; for 4 megabit-per-second Token Ring, set this parameter to 2154; for 15 megabit-per-second Token Ring, use 4202. Treat these values as a guideline. If the number of packets used increases, set these numbers higher.

Another way to reduce the amount of memory used by the OS is to set the parameter VOLUME BLOCK SIZE to the maximum of 64K. This parameter specifies the minimum block size that the NetWare file system can allocate to a particular file. This parameter does not affect Oracle because Oracle uses the Direct File Services (DIRECTFS) routines for disk access, but it does reduce the amount of memory NetWare uses for caching the directory structures. By reducing this value, more memory can be dedicated to Oracle.

The parameter MAXIMUM RECEIVE PACKET SIZE is located in STARTUP.NCF; the VOLUME BLOCK SIZE parameter is located in INSTALL.NLM. The NetWare parameter CACHE BUFFER SIZE is best left at the default of 4096 during run time, but boosting this value to 16384 during tablespace creation may help performance. The Oracle parameter NW_FSTYPE should be left set to DFS.

SGA Tuning

To maximize performance, allocate as much memory as possible to the SGA. Use the techniques discussed in Chapter 9, “Oracle Instance Tuning,” to determine whether memory will be best used for the shared pool or for database block buffers.

Unique to NetWare is the Oracle initialization parameter NW_SGA_MAX_ALLOC, which specifies the maximum size of each block (in kilobytes) in the SGA. The default value of NW_SGA_MAX_ALLOC is 256. This represents the largest block of contiguous memory Oracle can request from the NetWare memory pool.

In virtual memory systems, Oracle always gets contiguous memory (virtual memory); in UNIX, the memory area used by Oracle is contiguous. In NetWare, however, Oracle is not always guaranteed contiguous memory for the SGA. Because some structures in the SGA require contiguous memory, the NW_SGA_MAX_ALLOC parameter is necessary. The largest structure internal to the SGA that must be contiguous is _DB_BLOCK_MULTIPLE_HASHCHAIN_LATCHES; if Oracle cannot obtain a contiguous block of memory for this structure, it returns an ORA00064 error message. If you see this message, you must increase the value of NW_SGA_MAX_ALLOC before you can start the Oracle instance.

User Capacity

Determining the amount of memory necessary for your application on a per-user basis is easy. Start up Oracle and note the amount of memory used by looking at the Resource Utilization screen in NetWare’s MONITOR.NLM. Specifically, look for the amount of memory in the Cache Non-Movable Memory pool. Once users start accessing the application in a typical manner, record the amount of memory again. Take the difference and divide that result by the number of users accessing the application. This result is the per-user memory usage. Multiply this value by the maximum number of users who will connect to the application to determine the amount of memory you must reserve for user connections. Be sure to leave a little extra memory just in case.

In addition to the memory required for each connection, there are a few other concerns if you are to support the required number of user connections. Part of the memory required for each user is the Program Global Area (PGA). The amount of memory used in the user process’s PGA is limited by the initialization parameter NW_PGA_MAX_ALLOC. The default value of this parameter is NW_SGA_MAX_ALLOC and is usually sufficient. If you are having problems with users not being able to allocate enough memory, you may have to increase NW_PGA_MAX_ALLOC.

You may also have to adjust the Oracle initialization parameter, PROCESSES, to increase the number of Oracle connections. The PROCESSES parameter should reflect the maximum number of user connections you expect to have plus the number of Oracle background processes. You should also include some extra processes for administrative tasks.


Previous Table of Contents Next


Products |  Contact Us |  About Us |  Privacy  |  Ad Info  |  Home

Use of this site is subject to certain Terms & Conditions, Copyright © 1996-2000 EarthWeb Inc.
All rights reserved. Reproduction whole or in part in any form or medium without express written permission of EarthWeb is prohibited.